package clases.casillas;

import java.util.ArrayList;



public class CasillaComodin extends Casilla {

	private ArrayList<Casilla> casillas;
	

	public CasillaComodin(String nombre, ArrayList<Casilla> casillas) {
		super(nombre);
		this.casillas = casillas;
	}


	public ArrayList<Casilla> getCasillas() {
			
			return this.casillas;
		}


	@Override
	public boolean contiene(Casilla casilla) {

		for (Casilla casillaTemp : this.casillas) {
			if (casillaTemp.getNombre().equals(casilla.getNombre())) return true;
		}
		
		return false;
	}


	public Casilla obtenerCopiaSinCasilla(Casilla casilla) throws Exception {

		CasillaComodin tempCasillaComodin;
		
		//Clono para no perder la original
		tempCasillaComodin = (CasillaComodin) this.clone();
		
		ArrayList<Casilla> tempCasillas = tempCasillaComodin.getCasillas();
		
		//Elimino la Casilla
		for (Casilla casillaTemp : tempCasillas) {
			if(casillaTemp.getNombre().equals(casilla.getNombre())){
				tempCasillas.remove(casillaTemp);
				break;
			}
		}
		
		//Devuelvo una casilla igual que la original pero sin la que borre
		return (Casilla)tempCasillaComodin;
	}

	
	
}
